namespace OracleInternal.Common
{
	internal class SQLLocalParsePrimaryKeyInfo
	{
		internal string m_tableName;

		internal string m_schemaName;

		internal bool bPkPresent;

		internal bool bRowidPresent;

		internal ColumnLocalParsePrimaryKeyInfo[] m_columnMetaInfo;

		internal bool bPkFetched;

		internal bool bStmtParsed;

		internal long m_lastUsedCount;

		internal bool bIsPooled;

		internal static readonly SQLLocalParsePrimaryKeyInfo Null = new SQLLocalParsePrimaryKeyInfo();

		private SQLLocalParsePrimaryKeyInfo()
		{
		}

		internal SQLLocalParsePrimaryKeyInfo(int count)
		{
			m_columnMetaInfo = new ColumnLocalParsePrimaryKeyInfo[count];
			for (int i = 0; i < count; i++)
			{
				m_columnMetaInfo[i] = new ColumnLocalParsePrimaryKeyInfo();
			}
		}

		internal void CopyPrimaryKeyInfoFrom(SQLLocalParsePrimaryKeyInfo destInfo)
		{
			bPkPresent = destInfo.bPkPresent;
			bRowidPresent = destInfo.bRowidPresent;
			if (destInfo.m_columnMetaInfo == null)
			{
				return;
			}
			int num = destInfo.m_columnMetaInfo.Length;
			if (m_columnMetaInfo == null || m_columnMetaInfo.Length != num)
			{
				m_columnMetaInfo = new ColumnLocalParsePrimaryKeyInfo[num];
				for (int i = 0; i < num; i++)
				{
					m_columnMetaInfo[i] = new ColumnLocalParsePrimaryKeyInfo();
				}
			}
			for (int j = 0; j < num; j++)
			{
				m_columnMetaInfo[j].CopyPrimaryKeyInfoFrom(destInfo.m_columnMetaInfo[j]);
			}
		}
	}
}
